﻿using System;
using ModuloSoporte;
using ModuloSoporte.Helpers;
using ModuloSoporte.Validadores;
using System.Collections;

namespace IU.Admin.Api
{
    public partial class Default : UI.Classes.AjaxPage
    {
        protected override string OnRequest()
        {
            string response = string.Empty;

            try
            {
                var p = Request.Params;

                switch (p["q"])
                {
                    // Verificar usuario
                    // Resultado: 1 correcto, 0 incorrecto
                    case "vuser":
                        {
                            string username = p["arg"];

                            foreach (IValidador v in new IValidador[]{
                                new ValidadorUser(username, "Nombre de usuario")
                            })
                            {
                                v.Validar();
                            }

                            response = AjaxHelper.DoSuccess(
                                !AdministradoraUsuarios.Existe(username) ? "1" : "0");
                        }
                        break;

                    // Obtener provincias
                    // 
                    case "prov":
                        {
                            response = AjaxHelper.Do(
                                new { values = AdministradorGeneral.Administrador.ObtenerProvincias() });
                        }
                        break;

                    // Obtener situaciones IVA
                    // 
                    case "iva":
                        {
                            var list = new ArrayList();

                            foreach (var siva in SituacionIva.Valores())
                            {
                                list.Add(new { value = (int)siva, name = EnumHelper.EnumToString(siva) });
                            }

                            response = AjaxHelper.Do(
                                new { values = list });
                        }
                        break;

                    // Desconocido
                    default:
                        break;
                }
            }
            catch (Exception ex)
            {
                response = AjaxHelper.DoError(ex);
            }

            return response;
        }
    }
}
